package controllers

import (
	"demo/models"
	"fmt"
	"strconv"

	"github.com/gin-gonic/gin"
)

// 添加专项
func Insertfl(c *gin.Context) {
	var model models.Fl
	err := c.ShouldBindJSON(&model)
	if err != nil {
		c.JSON(500, gin.H{
			"msg":  err.Error(),
			"data": nil,
		})
		return
	}
	fmt.Println(model)

	data, err := model.InsertFl(model) //添加到数据库
	if err != nil {
		c.JSON(500, gin.H{
			"msg":  err.Error(),
			"data": nil,
		})
	}

	c.JSON(200, gin.H{
		"msg":  "msc",
		"data": data,
	})

}

// 查一条专项题目
func GetZxeById(c *gin.Context) {
	var model models.Zxe
	id, err := strconv.ParseInt(c.Param("id"), 10, 64)
	if err == nil {
		model.Tmxh = id
	}
	data, err := model.Getonezxe(model)
	if err != nil {
		c.JSON(500, gin.H{
			"msg":  "题目不存在",
			"data": nil,
		})
		return
	}

	c.JSON(200, gin.H{
		"msg":  "msc",
		"data": data,
	})

}

// 删除专项题目
func DelZxe(c *gin.Context) {
	var model models.Zxe
	id, err := strconv.ParseInt(c.Param("id"), 10, 64)
	if err == nil {
		model.Tmxh = id
	}
	data, err := model.Delectzxe(model)
	if err != nil {
		c.JSON(500, gin.H{
			"msg":  "删除失败",
			"data": nil,
		})
		return
	}

	c.JSON(200, gin.H{
		"msg":  "succ",
		"data": data,
	})
}

// 修改专项题目
func UpZxeLiset(c *gin.Context) {
	var model models.Zxe
	err := c.ShouldBindJSON(&model)
	if err != nil {
		c.JSON(500, gin.H{
			"msg":  err.Error(),
			"data": nil,
		})
		return
	}
	id, err := strconv.ParseInt(c.Param("id"), 10, 64)
	if err == nil {
		model.Tmxh = id
	}
	data, err := model.Upzxe(model)
	if err != nil {
		c.JSON(500, gin.H{
			"msg":  err.Error(),
			"data": nil,
		})
	}
	c.JSON(200, gin.H{
		"msg":  "msc",
		"data": data,
	})
}

// 添加专项题目
func AddZxeLiset(c *gin.Context) {
	var model models.Zxe
	err := c.ShouldBindJSON(&model) //将请求参数与结构体绑定
	if err != nil {
		c.JSON(500, gin.H{
			"msg":  err.Error(),
			"data": nil,
		})
		return
	}
	data, err := model.Addzxe(model)
	if err != nil {
		c.JSON(500, gin.H{
			"msg":  err.Error(),
			"data": nil,
		})
	}
	c.JSON(200, gin.H{
		"msg":  "成功",
		"data": data,
	})
}

// 查询年度
func GetNdList(c *gin.Context) {
	var model models.Tmnd
	data, err := model.GetndList()
	if err != nil {
		c.JSON(500, gin.H{
			"msg":  "出错了",
			"data": nil,
		})
		return
	}

	c.JSON(200, gin.H{
		"msg":  "成功",
		"data": data,
	})
}

// 查询专项分类
func GetZxfl(c *gin.Context) {
	data, err := models.GetAllZxFl(models.DB)
	if err != nil {
		c.JSON(500, gin.H{
			"msg":  "出错了",
			"data": nil,
		})
		return
	}

	c.JSON(200, gin.H{
		"msg":  "成功",
		"data": data,
	})
}

// 查询所有专项
func GetZxeList(c *gin.Context) {
	var model models.Zxe
	data, err := model.GetzxeList()
	if err != nil {
		c.JSON(500, gin.H{
			"msg":  "出错了",
			"data": nil,
		})
		return
	}

	c.JSON(200, gin.H{
		"msg":  "成功",
		"data": data,
	})
}
